#include <iostream>
#include <string>
using namespace std;

// 定义 Student 类，表示学生的基本信息和操作
class Student {
private:
    string Name;      // 学生姓名
    int Age;          // 学生年龄
    int ID;           // 学生ID
    int ClassNum;     // 班级编号
    string Gender;    // 性别
    string Character; // 性格描述

public:
    // 方法：输入学生姓名
    void InputName() {
        cout << "Now, Please input the name of a new student: ";
        getline(cin, Name); // 读取整行输入
    }

    // 方法：输入学生年龄
    void InputAge() {
        cout << "Please input the age of " << Name << ": ";
        cin >> Age;
        cin.ignore(); // 清理输入缓冲区
    }

    // 方法：输入学生ID
    void InputID() {
        cout << "Please input the ID of " << Name << ": ";
        cin >> ID;
        cin.ignore(); // 清理输入缓冲区
    }

    // 方法：输入学生班级编号
    void InputClassNum() {
        cout << "Please input the class number of " << Name << ": ";
        cin >> ClassNum;
        cin.ignore(); // 清理输入缓冲区
    }

    // 方法：输入学生性别
    void InputGender() {
        cout << "Please input the gender of " << Name << ", 1.Male 2.Female: ";
        int genderInput;
        cin >> genderInput;
        cin.ignore(); // 清理输入缓冲区
        if (genderInput == 1) {
            Gender = "Male";
        } else if (genderInput == 2) {
            Gender = "Female";
        } else {
            cout << "Invalid input. Setting gender to 'Unknown'." << endl;
            Gender = "Unknown";
        }
    }

    // 方法：输入学生性格描述
    void InputCharacter() {
        cout << "Please input the character of " << Name << ": ";
        getline(cin, Character);
    }

    // 方法：统一输入学生所有信息
    void InputInfo() {
        InputName();         // 输入姓名
        InputAge();          // 输入年龄
        InputID();           // 输入ID
        InputClassNum();     // 输入班级编号
        InputGender();       // 输入性别
        InputCharacter();    // 输入性格
    }

    // 方法：显示学生信息
    void ShowInfo() const {
        cout << "\n\nStudent Information:" << endl;
        cout << "Name: " << Name << endl;
        cout << "Age: " << Age << endl;
        cout << "ID: " << ID << endl;
        cout << "Class Number: " << ClassNum << endl;
        cout << "Gender: " << Gender << endl;
        cout << "Character: " << Character << endl;
    }
};

// 主函数
int main() {
    // 创建三个学生对象
    Student stu1, stu2, stu3;

    // 输入三个学生的信息
    stu1.InputInfo();
    stu2.InputInfo();
    stu3.InputInfo();

    // 显示三个学生的信息
    stu1.ShowInfo();
    stu2.ShowInfo();
    stu3.ShowInfo();

    return 0;
}
